home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_3
/
nartest
/
source
/
nartest.s
Wrap
Text File
|
1993-06-27
|
26KB
|
1,242 lines
;
; Narrator tester V1.01
; (c) 1993 by Jan Hagqvist
;
; V0.02 23-June-1993
; V0.03 24-June-1993
; V0.04 25-June-1993
; V1.00 26-June-1993
; V1.01 27-June-1993
;
XREF _LVOOpenLibrary
XREF _LVOCloseLibrary
XREF _LVOCreateMsgPort
XREF _LVODeleteMsgPort
XREF _LVOCreateIORequest
XREF _LVODeleteIORequest
XREF _LVOOpenDevice
XREF _LVOCloseDevice
XREF _LVODoIO
XREF _LVOOpenWindow
XREF _LVOCloseWindow
XREF _LVORefreshGList
XREF _LVOActivateGadget
XREF _LVOWaitPort
XREF _LVOGT_GetIMsg
XREF _LVOGT_ReplyIMsg
XREF _LVOSendIO
XREF _LVOTranslate
XREF _LVOCreateGadgetA
XREF _LVOFreeGadgets
XREF _LVOGetVisualInfoA
XREF _LVOOpenWorkBench
XREF _LVOCreateContext
XREF _LVOAddGList
XREF _LVORemoveGList
XREF _LVOGT_RefreshWindow
XREF _LVOFreeVisualInfo
XREF _LVOGT_SetGadgetAttrsA
XREF _LVOFindTask
XREF _LVOGetMsg
XREF _LVOReplyMsg
BUTTON_KIND equ 1
CYCLE_KIND equ 7
SLIDER_KIND equ 11
STRING_KIND equ 12
PLACETEXT_LEFT equ $1
PLACETEXT_RIGHT equ $2
PLACETEXT_ABOVE equ $4
PLACETEXT_BELOW equ $8
PLACETEXT_IN equ $10
NG_HIGHLABEL equ $20
GT_Underscore equ $80080040
GT_VisualInfo equ $80080034
GTMX_Active equ $8008000a
GTMX_Labels equ $80080009
GTMX_Spacing equ $8008003d
GTCY_Labels equ $8008000e
GTCY_Active equ $8008000f
GTST_MaxChars equ $8008002e
GTSL_Min equ $80080026
GTSL_Max equ $80080027
GTSL_Level equ $80080028
GTSL_MaxLevelLen equ $80080029
GTSL_LevelFormat equ $8008002a
GTSL_LevelPlace equ $8008002b
GTSL_DispFunc equ $8008002c
GA_Disabled equ $8003000e
GA_Immediate equ $80030015
GA_RelVerify equ $80030016
TAG_DONE equ $0
CMD_WRITE equ 3
NDF_NEWIORB equ 1
io_Command equ 28
io_Length equ 36
io_Data equ 40
rate equ 48
pitch equ 50
mode equ 52
sex equ 54
ch_masks equ 56
nm_masks equ 60
volume equ 62
flags equ 69
F0enthusiasm equ 70
F0perturb equ 71
F1adj equ 72
F2adj equ 73
F3adj equ 74
A1adj equ 75
A2adj equ 76
A3adj equ 77
articulate equ 78
centralize equ 79
centphon equ 80
AVbias equ 84
AFbias equ 85
IDCMP_MOUSEMOVE equ $10
IDCMP_GADGETDOWN equ $20
IDCMP_GADGETUP equ $40
IDCMP_CLOSEWINDOW equ $200
WFLG_SMART_REFRESH equ $0
WFLG_DRAGBAR equ $2
WFLG_DEPTHGADGET equ $4
WFLG_CLOSEGADGET equ $8
WFLG_ACTIVATE equ $1000
GFLG_GADGHCOMP equ $0000
GFLG_SELECTED equ $0080
GACT_STRINGLEFT equ $0000
GACT_RELVERIFY equ $0001
GACT_TOGGLESELECT equ $0100
GTYP_BOOLGADGET equ $0001
GTYP_STRGADGET equ $0004
JAM1 equ 0
WBENCHSCREEN equ 1
NATURALF0 equ 0
ROBOTICF0 equ 1
MANUALF0 equ 2
MALE equ 0
FEMALE equ 1
pr_MsgPort equ 92
pr_CLI equ 172
NarTest
move.l 4,a6 ; Check if we're run from WB
sub.l a1,a1
jsr _LVOFindTask(a6)
move.l d0,a4
tst.l pr_CLI(a4) ; CLI or WB?
bne.s NoWorkbench
lea pr_MsgPort(a4),a0
jsr _LVOWaitPort(a6) ; Wait for message
lea pr_MsgPort(a4),a0
jsr _LVOGetMsg(a6) ; Get it
move.l d0,WorkbenchMsg ; Store it
NoWorkbench
jsr _LVOCreateMsgPort(a6)
cmp.l #0,d0
beq Quit
move.l d0,NarratorPort
move.l d0,a0
moveq.l #88,d0
jsr _LVOCreateIORequest(a6)
cmp.l #0,d0
beq Quit
move.l d0,NarratorRequest
move.l d0,a1
move.b #NDF_NEWIORB,flags(a1) ; use the new fields
lea NarratorName(pc),a0
moveq.l #0,d0
move.l d0,d1
jsr _LVOOpenDevice(a6)
cmp.l #0,d0
bne Quit
lea IntuitionName(pc),a1
moveq.l #37,d0
jsr _LVOOpenLibrary(a6)
cmp.l #0,d0
beq Quit
move.l d0,IntuitionBase
lea TranslatorName(pc),a1
moveq.l #0,d0
jsr _LVOOpenLibrary(a6)
cmp.l #0,d0
beq Quit
move.l d0,TranslatorBase
lea GadToolsName(pc),a1
moveq.l #0,d0
jsr _LVOOpenLibrary(a6)
cmp.l #0,d0
beq Quit
move.l d0,GadToolsBase
move.l IntuitionBase(pc),a6
lea NewWindow(pc),a0
jsr _LVOOpenWindow(a6)
cmp.l #0,d0
beq Quit
move.l d0,NarWindow
move.l d0,a0
move.l 50(a0),NarRastPort
move.l 62(a0),FirstGadget
move.l 86(a0),NarUserPort
move.l IntuitionBase(pc),a6
jsr _LVOOpenWorkBench(a6)
move.l d0,WBScreen
move.l #0,GList
move.l GadToolsBase(pc),a6
lea GList(pc),a0
jsr _LVOCreateContext(a6)
move.l d0,LastGadget
move.l WBScreen(pc),a0
sub.l a1,a1
jsr _LVOGetVisualInfoA(a6)
move.l d0,VisualInfo
move.l NarratorRequest(pc),a1
move.w mode(a1),InitialMode
move.w sex(a1),InitialSex
move.w volume(a1),InitialVolume
move.w rate(a1),InitialRate
move.w pitch(a1),InitialPitch
move.b centralize(a1),InitialCentralize
move.b articulate(a1),InitialArticulate
move.l NarratorRequest(pc),a5
move.l VisualInfo(pc),TextVisual ; Create Text-gadget
lea TextGadget(pc),a1
lea TextGadgetTags(pc),a2
bsr CreateString
move.l d0,TextBase
move.l (a0),TextBuffer
move.l VisualInfo(pc),TextVisual2 ; Create Phonetic-gadget
lea TextGadget2(pc),a1
lea TextGadget2Tags(pc),a2
bsr CreateString
move.l d0,TextBase2
move.l (a0),TextBuffer2
move.l VisualInfo(pc),ModeVisual ; Create Mode-gadget
lea ModeGadget(pc),a1
lea ModeGadgetTags(pc),a2
bsr CreateCycle
move.l d0,ModeBase
move.l VisualInfo(pc),SexVisual ; Create Sex-gadget
lea SexGadget(pc),a1
lea SexGadgetTags(pc),a2
bsr CreateCycle
move.l d0,SexBase
move.l VisualInfo(pc),VolumeVisual ; Create Volume-gadget
lea VolumeGadget(pc),a1
lea VolumeGadgetTags(pc),a2
bsr CreateSlider
move.l d0,VolumeBase
move.l VisualInfo(pc),RateVisual ; Create Rate-gadget
lea RateGadget(pc),a1
lea RateGadgetTags(pc),a2
bsr CreateSlider
move.l d0,RateBase
move.l VisualInfo(pc),PitchVisual ; Create Pitch-gadget
lea PitchGadget(pc),a1
lea PitchGadgetTags(pc),a2
bsr CreateSlider
move.l d0,PitchBase
move.b F0enthusiasm(a5),InitialF0
move.l VisualInfo(pc),F0EnthusiasmVisual ; Create F0Enthusiasm-gadget
lea F0EnthusiasmGadget(pc),a1
lea F0GadgetTags(pc),a2
bsr CreateSlider
move.l d0,F0EnthusiasmBase
move.b F0perturb(a5),InitialF0
move.l VisualInfo(pc),F0PerturbVisual ; Create F0Perturb-gadget
lea F0PerturbGadget(pc),a1
lea F0GadgetTags(pc),a2
bsr CreateSlider
move.l d0,F0PerturbBase
move.b F1adj(a5),InitialF123Adj
move.l VisualInfo(pc),F1AdjVisual ; Create F1Adj-gadget
lea F1AdjGadget(pc),a1
lea F123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,F1AdjBase
move.b F2adj(a5),InitialF123Adj
move.l VisualInfo(pc),F2AdjVisual ; Create F2Adj-gadget
lea F2AdjGadget(pc),a1
lea F123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,F2AdjBase
move.b F3adj(a5),InitialF123Adj
move.l VisualInfo(pc),F3AdjVisual ; Create F3Adj-gadget
lea F3AdjGadget(pc),a1
lea F123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,F3AdjBase
move.b A1adj(a5),InitialA123Adj
move.l VisualInfo(pc),A1AdjVisual ; Create A1Adj-gadget
lea A1AdjGadget(pc),a1
lea A123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,A1AdjBase
move.b A2adj(a5),InitialA123Adj
move.l VisualInfo(pc),A2AdjVisual ; Create A2Adj-gadget
lea A2AdjGadget(pc),a1
lea A123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,A2AdjBase
move.b A1adj(a5),InitialA123Adj
move.l VisualInfo(pc),A3AdjVisual ; Create A3Adj-gadget
lea A3AdjGadget(pc),a1
lea A123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,A3AdjBase
move.b AVbias(a5),InitialA123Adj
move.l VisualInfo(pc),AVBiasVisual ; Create AVBias-gadget
lea AVBiasGadget(pc),a1
lea A123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,AVBiasBase
move.b AFbias(a5),InitialA123Adj
move.l VisualInfo(pc),AFBiasVisual ; Create AFBias-gadget
lea AFBiasGadget(pc),a1
lea A123AdjGadgetTags(pc),a2
bsr CreateSlider
move.l d0,AFBiasBase
move.l VisualInfo(pc),CentralizeVisual ; Create Centralize-gadget
lea CentralizeGadget(pc),a1
lea CentralizeGadgetTags(pc),a2
bsr.s CreateSlider
move.l d0,CentralizeBase
move.l VisualInfo(pc),CentphonVisual ; Create Centphon-gadget
lea CentphonGadget(pc),a1
lea CentphonGadgetTags(pc),a2
bsr.s CreateCycle
move.l d0,CentphonBase
move.l VisualInfo(pc),ArticulateVisual ; Create Articulate-gadget
lea ArticulateGadget(pc),a1
lea ArticulateGadgetTags(pc),a2
bsr.s CreateSlider
move.l d0,ArticulateBase
move.l VisualInfo(pc),ResetVisual ; Create Reset-gadget
moveq.l #BUTTON_KIND,d0
move.l LastGadget(pc),a0
lea ResetGadget(pc),a1
sub.l a2,a2
jsr _LVOCreateGadgetA(a6)
move.l d0,LastGadget
move.l d0,ResetBase
bra.s GadgetsCreated
CreateSlider
moveq.l #SLIDER_KIND,d0
bsr.s CreateGadget
rts
CreateCycle
moveq.l #CYCLE_KIND,d0
bsr.s CreateGadget
rts
CreateString
moveq.l #STRING_KIND,d0
bsr.s CreateGadget
move.l d0,a0
move.l 34(a0),a0
rts
CreateGadget
move.l LastGadget(pc),a0
jsr _LVOCreateGadgetA(a6)
move.l d0,LastGadget
rts
GadgetsCreated
move.l IntuitionBase(pc),a6
move.l NarWindow(pc),a0
move.l GList(pc),a1
move.l #-1,d0
move.l #-1,d1
sub.l a2,a2
jsr _LVOAddGList(a6)
move.l TextBase(pc),a0
move.l NarWindow(pc),a1
sub.l a2,a2
jsr _LVOActivateGadget(a6)
bsr RefreshGadgets
move.l GadToolsBase(pc),a6
move.l NarWindow(pc),a0
sub.l a1,a1
jsr _LVOGT_RefreshWindow(a6)
move.l 4,a6
move.l NarratorRequest(pc),a1
move.w #CMD_WRITE,io_Command(a1)
lea WelcomeText(pc),a0
move.l a0,io_Data(a1)
bsr StrLen
move.l d0,io_Length(a1)
lea AudioChan(pc),a0
move.l a0,ch_masks(a1)
move.w #4,nm_masks(a1)
move.w #140,rate(a1)
jsr _LVODoIO(a6)
SetValues
move.l NarratorRequest(pc),a1
move.l TextBuffer2(pc),a0
move.l a0,io_Data(a1)
lea Values,a0
SetValues2
move.b (a1)+,(a0)+
cmp.l #ValuesEnd,a0
bne.s SetValues2
WaitForMessage
move.l 4,a6
move.l NarUserPort(pc),a0
jsr _LVOWaitPort(a6) ; Wait for a message
WaitForMessage2
move.l GadToolsBase,a6
move.l NarUserPort(pc),a0 ; Got it
jsr _LVOGT_GetIMsg(a6)
move.l d0,a1
cmp.l #0,d0
beq.s WaitForMessage ; What? No Message?!
WaitForMessage2.1
move.l 20(a1),Class
move.w 24(a1),Code
move.w 26(a1),Qualifier
move.l 28(a1),IAddress
jsr _LVOGT_ReplyIMsg(a6)
WaitForMessage3
cmp.l #IDCMP_CLOSEWINDOW,Class
bne.s WaitForMessage4
bra.s Quit
WaitForMessage4
cmp.l #IDCMP_GADGETUP,Class
bne.s WaitForMessage5
move.l IAddress(pc),a4
move.l 40(a4),a3
move.l NarratorRequest(pc),a1
jsr (a3)
bra WaitForMessage2
WaitForMessage5
bra WaitForMessage2
Quit
move.l IntuitionBase(pc),a6
move.l NarWindow(pc),a0
cmp.l #0,a0
beq.s Quit9
move.l GList(pc),a1
cmp.l #0,a1
beq.s Quit9
move.l #-1,d0
jsr _LVORemoveGList(a6)
Quit9
move.l GadToolsBase(pc),a6
cmp.l #0,a6
beq.s Quit8
move.l GList(pc),a0
jsr _LVOFreeGadgets(a6)
move.l VisualInfo(pc),a0
jsr _LVOFreeVisualInfo(a6)
Quit8
move.l IntuitionBase(pc),a6
move.l NarWindow(pc),a0
cmp.l #0,a0
beq.s Quit5
jsr _LVOCloseWindow(a6)
Quit5
move.l 4,a6
move.l GadToolsBase(pc),a1
cmp.l #0,a1
beq.s Quit7
jsr _LVOCloseLibrary(a6)
Quit7
move.l TranslatorBase(pc),a1
cmp.l #0,a1
beq.s Quit6
jsr _LVOCloseLibrary(a6)
Quit6
move.l IntuitionBase(pc),a1
cmp.l #0,a1
beq.s Quit4
jsr _LVOCloseLibrary(a6)
Quit4
move.l NarratorRequest(pc),a1
cmp.l #0,a1
beq.s Quit2
jsr _LVOCloseDevice(a6)
move.l NarratorRequest(pc),a0
jsr _LVODeleteIORequest(a6)
Quit2
move.l NarratorPort(pc),a0
cmp.l #0,a0
beq.s Quit3
jsr _LVODeleteMsgPort(a6)
Quit3
move.l WorkbenchMsg(pc),a1
cmp.l #0,a1
bne.s WBQuit ; We were started from WB
moveq.l #0,d0
rts ; Exit to CLI
WBQuit
move.l 4,a6
jsr _LVOReplyMsg(a6)
rts ; Exit to WB
RefreshGadgets
movem.l a0-a6/d0-d7,-(sp)
move.l IntuitionBase(pc),a6
move.l GList(pc),a0
move.l NarWindow(pc),a1
sub.l a2,a2
move.l #-1,d0
jsr _LVORefreshGList(a6)
movem.l (sp)+,a0-a6/d0-d7
rts
ConvertString
move.l TextBuffer(pc),a0
bsr UpperCase
bsr.s ClearBuffer2
move.l TranslatorBase(pc),a6
move.l TextBuffer(pc),a0
move.l TextBuffer2(pc),a1
move.l #200,d0
move.l #800,d1
jsr _LVOTranslate(a6)
bsr RefreshGadgets
bsr TextActivate
bsr.s Say
rts
ConvertString2
move.l TextBuffer2(pc),a0
bsr UpperCase
bsr RefreshGadgets
move.l IntuitionBase(pc),a6
move.l TextBase2(pc),a0
move.l NarWindow(pc),a1
sub.l a2,a2
jsr _LVOActivateGadget(a6)
bsr.s Say
rts
Say
move.l 4,a6
move.l NarratorRequest(pc),a1
move.w #CMD_WRITE,io_Command(a1)
move.l TextBuffer2(pc),a0
bsr StrLen
move.l d0,io_Length(a1)
jsr _LVODoIO(a6)
rts
ClearBuffer2
move.l TextBuffer2(pc),a0
moveq.l #0,d0
ClearBuffer2.2
move.b #0,(a0)+
addq.l #1,d0
cmp.w #800,d0
bne.s ClearBuffer2.2
rts
SetMode
move.w Code(pc),mode(a1)
bsr TextActivate
rts
SetSex
move.w Code(pc),sex(a1)
bsr TextActivate
rts
SetVolume
move.w Code(pc),volume(a1)
bsr TextActivate
rts
SetRate
move.w Code(pc),rate(a1)
bsr TextActivate
rts
SetPitch
move.w Code(pc),pitch(a1)
bsr TextActivate
rts
SetF0Enthusiasm
move.w Code(pc),d0
move.b d0,F0enthusiasm(a1)
bsr TextActivate
rts
SetF0Perturb
move.w Code(pc),d0
move.b d0,F0perturb(a1)
bsr TextActivate
rts
SetF1Adj
move.w Code(pc),d0
move.b d0,F1adj(a1)
bsr TextActivate
rts
SetF2Adj
move.w Code(pc),d0
move.b d0,F2adj(a1)
bsr TextActivate
rts
SetF3Adj
move.w Code(pc),d0
move.b d0,F3adj(a1)
bsr TextActivate
rts
SetA1Adj
move.w Code(pc),d0
move.b d0,A1adj(a1)
bsr TextActivate
rts
SetA2Adj
move.w Code(pc),d0
move.b d0,A2adj(a1)
bsr TextActivate
rts
SetA3Adj
move.w Code(pc),d0
move.b d0,A3adj(a1)
bsr TextActivate
rts
SetAVBias
move.w Code(pc),d0
move.b d0,AVbias(a1)
bsr TextActivate
rts
SetAFBias
move.w Code(pc),d0
move.b d0,AFbias(a1)
bsr TextActivate
rts
SetCentralize
move.w Code(pc),d0
move.b d0,centralize(a1)
bsr TextActivate
rts
SetCentphon
lea CentphonNone(pc),a0
moveq.l #0,d0
move.w Code(pc),d0
asl.l #2,d0
add.l d0,a0
move.l a0,centphon(a1)
bsr TextActivate
rts
SetArticulate
move.w Code(pc),d0
move.b d0,articulate(a1)
bsr TextActivate
rts
ResetValues
move.l a1,a5
lea Values,a0
ResetValues2
move.b (a0)+,(a1)+
cmp.l #ValuesEnd,a0
bne.s ResetValues2
move.l GadToolsBase(pc),a6
move.l ModeBase(pc),a0
move.w mode(a5),CycleValueW
bsr ResetCycle
move.l SexBase(pc),a0
move.w sex(a5),CycleValueW
bsr ResetCycle
move.l CentphonBase(pc),a0
move.w #0,CycleValueW
bsr ResetCycle
move.l A1AdjBase(pc),a0
move.b A1adj(a5),SliderValueB
bsr ResetSlider
move.l A2AdjBase(pc),a0
move.b A2adj(a5),SliderValueB
bsr ResetSlider
move.l A3AdjBase(pc),a0
move.b A3adj(a5),SliderValueB
bsr ResetSlider
move.l F1AdjBase(pc),a0
move.b F1adj(a5),SliderValueB
bsr ResetSlider
move.l F2AdjBase(pc),a0
move.b F2adj(a5),SliderValueB
bsr ResetSlider
move.l F3AdjBase(pc),a0
move.b F3adj(a5),SliderValueB
bsr ResetSlider
move.l F0EnthusiasmBase(pc),a0
move.b F0enthusiasm(a5),SliderValueB
bsr.s ResetSlider
move.l F0PerturbBase(pc),a0
move.b F0perturb(a5),SliderValueB
bsr.s ResetSlider
move.l PitchBase(pc),a0
move.w pitch(a5),SliderValueW
bsr.s ResetSlider
move.l RateBase(pc),a0
move.w rate(a5),SliderValueW
bsr.s ResetSlider
move.l AVBiasBase(pc),a0
move.b AVbias(a5),SliderValueB
bsr.s ResetSlider
move.l AFBiasBase(pc),a0
move.b AFbias(a5),SliderValueB
bsr.s ResetSlider
move.l CentralizeBase(pc),a0
move.b centralize(a5),SliderValueB
bsr.s ResetSlider
move.l ArticulateBase(pc),a0
move.b articulate(a5),SliderValueB
bsr.s ResetSlider
bsr TextActivate
rts
ResetCycle
move.l NarWindow(pc),a1
sub.l a2,a2
lea ResetCycleTags(pc),a3
jsr _LVOGT_SetGadgetAttrsA(a6)
rts
ResetSlider
move.l NarWindow(pc),a1
sub.l a2,a2
lea ResetSliderTags(pc),a3
jsr _LVOGT_SetGadgetAttrsA(a6)
move.w #0,SliderValueW
rts
TextActivate
move.l IntuitionBase(pc),a6
move.l TextBase(pc),a0
move.l NarWindow(pc),a1
sub.l a2,a2
jsr _LVOActivateGadget(a6)
rts
StrLen ; in: a0=string, out: d0=length of the string
movem.l a0,-(sp)
moveq.l #0,d0
StrLen2
cmp.b #0,(a0)+
beq.s StrLen3
addq.l #1,d0
bra.s StrLen2
StrLen3
movem.l (sp)+,a0
rts
UpperCase ; in: a0=string
movem.l a0,-(sp)
UpperCase1
cmp.b #'a',(a0)
bmi.s UpperCase2
cmp.b #'z'+1,(a0)
bpl.s UpperCase2
sub.b #32,(a0)
UpperCase2
cmp.b #0,(a0)+
bne.s UpperCase1
movem.l (sp)+,a0
rts
IntuitionBase dc.l 0
TranslatorBase dc.l 0
GadToolsBase dc.l 0
WorkbenchMsg dc.l 0
NarWindow dc.l 0
NarUserPort dc.l 0
NarRastPort dc.l 0
NarratorPort dc.l 0
NarratorRequest dc.l 0
Code dc.l 0
Class dc.l 0
IAddress dc.l 0
Qualifier dc.l 0
FirstGadget dc.l 0
LastGadget dc.l 0
VisualInfo dc.l 0
WBScreen dc.l 0
GList dc.l 0
TextBuffer dc.l 0
TextBuffer2 dc.l 0
TextBase dc.l 0
TextBase2 dc.l 0
ModeBase dc.l 0
SexBase dc.l 0
VolumeBase dc.l 0
RateBase dc.l 0
PitchBase dc.l 0
F0EnthusiasmBase dc.l 0
F0PerturbBase dc.l 0
F1AdjBase dc.l 0
F2AdjBase dc.l 0
F3AdjBase dc.l 0
A1AdjBase dc.l 0
A2AdjBase dc.l 0
A3AdjBase dc.l 0
AVBiasBase dc.l 0
AFBiasBase dc.l 0
CentralizeBase dc.l 0
CentphonBase dc.l 0
ArticulateBase dc.l 0
ResetBase dc.l 0
NewWindow dc.w 30,30,420,165
dc.b 0,1
dc.l IDCMP_GADGETUP!IDCMP_CLOSEWINDOW!IDCMP_MOUSEMOVE!IDCMP_GADGETDOWN
dc.l WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_CLOSEGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE
dc.l 0,0,NarWindowName,0,0
dc.w 420,165,420,165,WBENCHSCREEN
IntuitionName dc.b 'intuition.library',0
TranslatorName dc.b 'translator.library',0
GadToolsName dc.b 'gadtools.library',0
NarratorName dc.b 'narrator.device',0
Font0Name dc.b 'topaz.font',0
VolumeString dc.b '%02ld',0
RateString dc.b '%03ldwpm',0
PitchString dc.b '%03ldHz',0
TriNumberString dc.b '%03ld',0
SignedBiNumberString dc.b '%3ld',0
VersionString dc.b '$VER: '
NarWindowName dc.b 'Narrator tester V1.01 27-June-1993',0
TextName dc.b 'English: ',0
TextName2 dc.b 'Phonetic:',0
ModeName dc.b 'Mode',0
SexName dc.b 'Sex',0
VolumeName dc.b 'Volume',0
RateName dc.b 'Rate ',0
PitchName dc.b 'Pitch',0
F0EnthusiasmName dc.b 'F0enthus ',0
F0PerturbName dc.b 'F0perturb',0
F1AdjName dc.b 'F1adj',0
F2AdjName dc.b 'F2adj',0
F3AdjName dc.b 'F3adj',0
A1AdjName dc.b 'A1adj',0
A2AdjName dc.b 'A2adj',0
A3AdjName dc.b 'A3adj',0
AVBiasName dc.b 'AVBias',0
AFBiasName dc.b 'AFBias',0
CentralizeName dc.b 'Centralize',0
CentphonName dc.b 'Centphon',0
ArticulateName dc.b 'Articulate',0
ResetName dc.b 'Reset Values',0
AudioChan dc.b 3,5,10,12
WelcomeText dc.b 'WEH4LKAHM TUW NAE2RAETER TEH4STER. '
dc.b 'DHIHS IHZ VER4SHUN WAHN POYNT '
dc.b 'ZIYROW WAHN.',0
ModeNatural dc.b 'Natural',0
ModeRobotic dc.b 'Robotic',0
ModeManual dc.b 'Manual',0
SexMale dc.b 'Male',0
SexFemale dc.b 'Female',0
ds.l 0
CentphonNone dc.b 0,0,0,0
CentphonIY dc.b 'IY',0,0
CentphonIH dc.b 'IH',0,0
CentphonEH dc.b 'EH',0,0
CentphonAE dc.b 'AE',0,0
CentphonAA dc.b 'AA',0,0
CentphonAH dc.b 'AH',0,0
CentphonAO dc.b 'AO',0,0
CentphonOW dc.b 'OW',0,0
CentphonUH dc.b 'UH',0,0
CentphonER dc.b 'ER',0,0
CentphonUW dc.b 'UW',0,0
Font0
dc.l Font0Name
dc.w 8
dc.b 0,1
TextGadget ; GADGETUP
dc.w 85,15,320,12
dc.l TextName,Font0
dc.w 1000
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
TextVisual
dc.l 0,ConvertString
TextGadgetTags
dc.l GTST_MaxChars,200
dc.l TAG_DONE
TextGadget2 ; GADGETUP
dc.w 85,30,320,12
dc.l TextName2,Font0
dc.w 1001
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
TextVisual2
dc.l 0,ConvertString2
TextGadget2Tags
dc.l GTST_MaxChars,800
dc.l TAG_DONE
ModeGadget
dc.w 46,45,88,12
dc.l ModeName,Font0
dc.w 1002
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
ModeVisual
dc.l 0,SetMode
ModeGadgetTags
dc.l GTCY_Labels,ModeLabels
dc.l GTCY_Active
dc.w 0
InitialMode
dc.w 0
dc.l TAG_DONE
ModeLabels
dc.l ModeNatural,ModeRobotic,ModeManual,0
SexGadget
dc.w 170,45,80,12
dc.l SexName,Font0
dc.w 1003
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
SexVisual
dc.l 0,SetSex
SexGadgetTags
dc.l GTCY_Labels,SexLabels
dc.l GTCY_Active
dc.w 0
InitialSex
dc.w 0
dc.l TAG_DONE
SexLabels
dc.l SexMale,SexFemale,0
VolumeGadget
dc.w 308,45,84,12
dc.l VolumeName,Font0
dc.w 1004
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
VolumeVisual
dc.l 0,SetVolume
VolumeGadgetTags
dc.l GTSL_Min,0
dc.l GTSL_Max,64
dc.l GTSL_MaxLevelLen,2
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,VolumeString
dc.l GTSL_Level
dc.w 0
InitialVolume
dc.w 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
RateGadget
dc.w 264,105,96,12
dc.l RateName,Font0
dc.w 1005
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
RateVisual
dc.l 0,SetRate
RateGadgetTags
dc.l GTSL_Min,40
dc.l GTSL_Max,400
dc.l GTSL_MaxLevelLen,6
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,RateString
dc.l GTSL_Level
dc.w 0
InitialRate
dc.w 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
PitchGadget
dc.w 264,90,96,12
dc.l PitchName,Font0
dc.w 1006
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
PitchVisual
dc.l 0,SetPitch
PitchGadgetTags
dc.l GTSL_Min,65
dc.l GTSL_Max,320
dc.l GTSL_MaxLevelLen,5
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,PitchString
dc.l GTSL_Level
dc.w 0
InitialPitch
dc.w 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
F0EnthusiasmGadget
dc.w 85,90,90,12
dc.l F0EnthusiasmName,Font0
dc.w 1007
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
F0EnthusiasmVisual
dc.l 0,SetF0Enthusiasm
F0GadgetTags
dc.l GTSL_Min,0
dc.l GTSL_Max,255
dc.l GTSL_MaxLevelLen,3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,TriNumberString
dc.l GTSL_Level
dc.b 0,0,0
InitialF0
dc.b 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
F0PerturbGadget
dc.w 85,105,90,12
dc.l F0PerturbName,Font0
dc.w 1008
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
F0PerturbVisual
dc.l 0,SetF0Perturb
F1AdjGadget
dc.w 54,75,50,12
dc.l F1AdjName,Font0
dc.w 1009
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
F1AdjVisual
dc.l 0,SetF1Adj
F123AdjGadgetTags
dc.l GTSL_Min,-20
dc.l GTSL_Max,20
dc.l GTSL_MaxLevelLen,3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,SignedBiNumberString
dc.l GTSL_Level
dc.b 0,0,0
InitialF123Adj
dc.b 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
F2AdjGadget
dc.w 190,75,50,12
dc.l F2AdjName,Font0
dc.w 1010
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
F2AdjVisual
dc.l 0,SetF2Adj
F3AdjGadget
dc.w 326,75,50,12
dc.l F3AdjName,Font0
dc.w 1011
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
F3AdjVisual
dc.l 0,SetF3Adj
A1AdjGadget
dc.w 54,60,50,12
dc.l A1AdjName,Font0
dc.w 1012
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
A1AdjVisual
dc.l 0,SetA1Adj
A123AdjGadgetTags
dc.l GTSL_Min,-32
dc.l GTSL_Max,31
dc.l GTSL_MaxLevelLen,3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,SignedBiNumberString
dc.l GTSL_Level
dc.b 0,0,0
InitialA123Adj
dc.b 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
A2AdjGadget
dc.w 190,60,50,12
dc.l A2AdjName,Font0
dc.w 1013
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
A2AdjVisual
dc.l 0,SetA2Adj
A3AdjGadget
dc.w 326,60,50,12
dc.l A3AdjName,Font0
dc.w 1014
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
A3AdjVisual
dc.l 0,SetA3Adj
AVBiasGadget
dc.w 85,120,90,12
dc.l AVBiasName,Font0
dc.w 1015
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
AVBiasVisual
dc.l 0,SetAVBias
AFBiasGadget
dc.w 264,120,96,12
dc.l AFBiasName,Font0
dc.w 1016
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
AFBiasVisual
dc.l 0,SetAFBias
CentralizeGadget
dc.w 264,135,96,12
dc.l CentralizeName,Font0
dc.w 1017
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
CentralizeVisual
dc.l 0,SetCentralize
CentralizeGadgetTags
dc.l GTSL_Min,0
dc.l GTSL_Max,100
dc.l GTSL_MaxLevelLen,3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,TriNumberString
dc.l GTSL_Level
dc.b 0,0,0
InitialCentralize
dc.b 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
CentphonGadget
dc.w 85,135,90,12
dc.l CentphonName,Font0
dc.w 1018
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
CentphonVisual
dc.l 0,SetCentphon
CentphonGadgetTags
dc.l GTCY_Labels,CentphonLabels
dc.l TAG_DONE
CentphonLabels
dc.l CentphonNone,CentphonIY,CentphonIH,CentphonEH,CentphonAE
dc.l CentphonAA,CentphonAH,CentphonAO,CentphonOW,CentphonUH
dc.l CentphonER,CentphonUW,0
ArticulateGadget
dc.w 264,150,96,12
dc.l ArticulateName,Font0
dc.w 1019
dc.l PLACETEXT_LEFT!NG_HIGHLABEL
ArticulateVisual
dc.l 0,SetArticulate
ArticulateGadgetTags
dc.l GTSL_Min,0
dc.l GTSL_Max,255
dc.l GTSL_MaxLevelLen,3
dc.l GTSL_LevelPlace,PLACETEXT_RIGHT
dc.l GTSL_LevelFormat,TriNumberString
dc.l GTSL_Level
dc.b 0,0,0
InitialArticulate
dc.b 0
dc.l GA_RelVerify,1
dc.l TAG_DONE
ResetGadget
dc.w 14,150,160,12
dc.l ResetName,Font0
dc.w 1020
dc.l PLACETEXT_IN
ResetVisual
dc.l 0,ResetValues
ResetCycleTags
dc.l GTCY_Active
dc.w 0
CycleValueW
dc.w 0
dc.l TAG_DONE
ResetSliderTags
dc.l GTSL_Level
dc.w 0
SliderValueW
dc.b 0
SliderValueB
dc.b 0
dc.l TAG_DONE
SECTION 2,BSS
Values ds.b 88
ValuesEnd
END